package droidforum.co.diosapp.dao;

import java.util.List;

import android.content.ContentValues;
import android.database.Cursor;

import droidforum.co.diosapp.application.db.Binder;
import droidforum.co.diosapp.application.db.GenericDAO;
import droidforum.co.diosapp.dto.PromesaDTO;

public class PromesasDAO extends GenericDAO{
	
	public List<PromesaDTO> getPromesaXId(int id){
		String query = "select _id, promesa, libro, versiculo from promesas where _id="+id;
		return getResultsByQuery(query, new PromesasBinder());
	}
	
	public List<PromesaDTO> getPromesaActualBD(){
		String query = "select  promesas._id, promesas.promesa, promesas.libro, promesas.versiculo, promesa_usuario.promesa_date from promesas, promesa_usuario where promesas._id = promesa_usuario.id_promesa";
		return getResultsByQuery(query, new PromesasBinder());
	}
	
	public void updatePromesaUsuario(ContentValues cv){
		String query = "update promesa_usuario set id_promesa="+cv.getAsString("id_promesa")+", promesa_date="+cv.getAsString("promesa_date");
		updateManually(query);
	}
	
	private class PromesasBinder implements Binder<PromesaDTO> {
		public PromesaDTO bind(Cursor cursor){
			return getPromesaDTO(cursor);
		}
	}
	
	private PromesaDTO getPromesaDTO(Cursor cursor){
		PromesaDTO promesaDTO = new PromesaDTO();
		promesaDTO.setId(cursor.getInt(cursor.getColumnIndex("_id")));
		promesaDTO.setPromesa(cursor.getString(cursor.getColumnIndex("promesa")));
		promesaDTO.setLibro(cursor.getString(cursor.getColumnIndex("libro")));
		promesaDTO.setVersiculo(cursor.getString(cursor.getColumnIndex("versiculo")));
		if(cursor.getColumnIndex("promesa_date")!=-1)
				promesaDTO.setDatePromesa(cursor.getString(cursor.getColumnIndex("promesa_date")));
		return promesaDTO;
	}

}
